package cn.sykj.car.entity;

import cn.sykj.car.utils.DiffEntity;
import cn.sykj.car.utils.excel.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 门店信息
 * </p>
 *
 * @author xuming
 * @since 2021-06-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CarStore对象", description="门店信息")
public class CarStore extends Model<CarStore> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "门店名称")
    @DiffEntity(action = "门店名称变化")
    @Excel(name = "门店名称",sort = "A")
    private String storeName;

    @ApiModelProperty(value = "门店编码：省+市+区县编号+4位自然数，从小到大排")
    @DiffEntity(action = "门店编码变化")
    @Excel(name = "门店编码",sort = "B")
    private String storeNo;

    @ApiModelProperty(value = "省编码")
    @DiffEntity(action = "省编码变化")
    private String province;

    @ApiModelProperty(value = "市编码")
    @DiffEntity(action = "市编码变化")
    private String city;

    @ApiModelProperty(value = "区县编码")
    @DiffEntity(action = "区县编码变化")
    private String county;

    @ApiModelProperty(value = "门店地址")
    @DiffEntity(action = "门店地址变化")
    @Excel(name = "门店地址",sort = "F")
    private String storeAddress;

    @ApiModelProperty(value = "门店申请人")
    @DiffEntity(action = "门店申请人变化")
    @Excel(name = "门店申请人",sort = "G")
    private String storeUser;

    @ApiModelProperty(value = "门店联系电话")
    @DiffEntity(action = "门店联系电话变化")
    @Excel(name = "门店联系电话",sort = "H")
    private String storeTel;

    @ApiModelProperty(value = "申请时间")
    @DiffEntity(action = "申请时间变化")
    @Excel(name = "申请时间",sort = "I")
    private Date applyTime;

    @ApiModelProperty(value = "审核时间")
    @DiffEntity(action = "审核时间变化")
    @Excel(name = "审核时间",sort = "K")
    private Date checkTime;

    @ApiModelProperty(value = "门店费用")
    @DiffEntity(action = "门店费用变化")
    @Excel(name = "门店费用",sort = "M")
    private Integer storeFee;

    @ApiModelProperty(value = "审批人")
    @DiffEntity(action = "审批人变化")
    @Excel(name = "审批人",sort = "J")
    private String checkUser;

    @ApiModelProperty(value = "删除标记：1-删除 0-正常")
    @TableLogic
    private Integer delFlag;

    private Date createTime;

    private String createUser;

    @Excel(name = "修改时间",sort = "N")
    private Date updateTime;

    @Excel(name = "修改人",sort = "O")
    private String updateUser;

    @ApiModelProperty(value = "经度 ")
    @DiffEntity(action = "经度变化")
    @Excel(name = "经度",sort = "P")
    private String longitude;

    @ApiModelProperty(value = "纬度")
    @DiffEntity(action = "纬度变化")
    @Excel(name = "纬度",sort = "Q")
    private String latitude;

    @ApiModelProperty(value = "审批：1-申请 2-审批  3-驳回")
    @DiffEntity(action = "审批变化")
    private Integer checkFlag;



    public static final String ID = "id";

    public static final String STORE_NAME = "store_name";

    public static final String STORE_NO = "store_no";

    public static final String PROVINCE = "province";

    public static final String CITY = "city";

    public static final String COUNTY = "county";

    public static final String STORE_ADDRESS = "store_address";

    public static final String STORE_USER = "store_user";

    public static final String STORE_TEL = "store_tel";

    public static final String APPLY_TIME = "apply_time";

    public static final String CHECK_TIME = "check_time";

    public static final String STORE_FEE = "store_fee";

    public static final String CHECK_USER = "check_user";

    public static final String DEL_FLAG = "del_flag";

    public static final String CREATE_TIME = "create_time";

    public static final String CREATE_USER = "create_user";

    public static final String UPDATE_TIME = "update_time";

    public static final String UPDATE_USER = "update_user";

    public static final String LONGITUDE  = "longitude";

    public static final String LATITUDE = "latitude";

    public static final String  CHECFLAG="checkFlag";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
